﻿// 3599. 奇偶校验.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <string>
#include <vector>


using namespace std;
/*
https://www.acwing.com/problem/content/3602/

输入一个字符串，然后对每个字符进行奇校验，最后输出校验后的二进制数。

对一个字符进行奇校验是指，先获取该字符的 ASCII 码值，然后将这个值转化为一个 7
 位二进制数，如果这个 7 位二进制数中包含奇数个 1
，则在最高位加一位 0，否则在最高位加一位 1。

例如，对于字符 3，其 ASCII 码值为 51，对应二进制表示为 0110011
，共包含 4 个 1，因此需要在最高位加一位 1，得到校验后的值 10110011。

对于字符 a，其 ASCII 码值为 97
，对应二进制表示为 1100001
，共包含 3
 个 1
，因此需要在最高位加一位 0
，得到校验后的值 01100001
。

输入格式
一行一个字符串。

输出格式
对于字符串中的每一个字符，输出一行校验结果。

数据范围
字符串长度不超过 100
。

输入样例：
3a
输出样例：
10110011
01100001
*/

string str;

vector<int>  toBin(int x) {
	vector<int> res;
	int onecnt = 0;
	while (x != 0) {
		if (x & 1) {
			res.push_back(1);
			onecnt++;
		}
		else {
			res.push_back(0);
		}
		x >>= 1;
	}
	while (res.size() < 7) {
		res.push_back(0);
	}

	if (onecnt % 2 == 0) {
		res.push_back(1);
	}
	else {
		res.push_back(0);
	}

	return res;
}

void solve() {
	for (int i = 0; i < str.size(); i++) {
		int v = str[i];
		vector<int> res = toBin(v);
		for (int j = res.size() - 1; j >= 0; j--) {
			cout << res[j];
		}
		cout << endl;
	}
}

int main()
{
	while (cin >> str) {
		solve();
	}

	return 0;
}

 